'''
需求
 1.房子(House) 有 门牌号、总面积 和 不同的家具 •新房子没有任何的家具
 2.家具(Item) 有 名字 和 占地面积，其中
     • 床(bed) 占地 4 平米
     • 衣柜(chest) 占地 2 平米
     • 餐桌(table) 占地 1.5 平米
     * 实例化家具对象时不传占地面积参数, 占地面积通过赋值方式,如果赋值面积小于零,让面积=0
 3.将以上三件 家具 添加 到 房子 中
 4.打印房子时，要求输出：户型、总面积、剩余面积、家具名称
 2021-8-14 Nasa
'''


class Item:
    def __init__(self, name, mianji, gaodu):
        self.name = name
        if gaodu < 0:
            print('高度不能为负')
            self.gaodu = 0
        else:
            self.gaodu = gaodu
        if mianji < 0:
            print('面积不能为负')
            self.mianji = 0
        else:
            self.mianji = mianji

    def __repr__(self):
        return f'name:{self.name}'


class House:
    def __init__(self, mepaha, mianji):
        self.mepaha = mepaha
        self.mianji = mianji
        self.items = []
        self.shengmianji = mianji

    def append_item(self, item):
        if self.shengmianji >= item.mianji:
            self.items.append(item)
            self.shengmianji = self.shengmianji - item.mianji
            print(f'添加成功,目前家具:{self.items},剩余面积{self.shengmianji}')
        else:
            print('装满了,不能再装了')


if __name__ == '__main__':
    bed = Item('mybed', 10, 5)
    table = Item('mytable', 90, 5)
    print(bed)
    home = House('201', 100)
    home.append_item(bed)
    home.append_item(table)
    home.append_item(bed)
    print(home.mianji)
